package com.turnengine.client.local.faction;

import java.util.Collection;
import java.util.List;

import com.turnengine.client.local.faction.bean.IFaction;
import com.turnengine.client.local.faction.enums.FactionUnited;

public interface IFactionCache extends Iterable<IFaction> {

	int size();

	void clear();

	boolean addFaction(IFaction faction);

	int addFactions(Collection<IFaction> factions);

	IFaction getById(int id);

	IFaction getByName(String name);

	boolean containsById(int id);

	boolean containsByName(String name);

	List<IFaction> getByUnited(FactionUnited united);

	List<IFaction> getAll();

}
